//*********************************************************
//
//    Copyright (c) Microsoft. All rights reserved.
//    This code is licensed under the Apache License, Version 2.0.
//    THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
//    ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
//    IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
//    PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
//
//*********************************************************

namespace config
{

    using System.Xml.Serialization;

    // 
    // This source code was auto-generated by xsd, Version=2.0.50727.42.
    // 


    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class DataLayout
    {

        private string[] importsField;

        private SystemPolicy systemPolicyField;

        private GlobalSettings globalSettingsField;

        private Object[] objectsField;

        private Relation[] relationsField;

        private string namespaceField;

        private string nameField;

        private string dependsOnLayoutField;

        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("Import", IsNullable = false)]
        public string[] Imports
        {
            get
            {
                return this.importsField;
            }
            set
            {
                this.importsField = value;
            }
        }

        /// <remarks/>
        public SystemPolicy SystemPolicy
        {
            get
            {
                return this.systemPolicyField;
            }
            set
            {
                this.systemPolicyField = value;
            }
        }

        /// <remarks/>
        public GlobalSettings GlobalSettings
        {
            get
            {
                return this.globalSettingsField;
            }
            set
            {
                this.globalSettingsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable = false)]
        public Object[] Objects
        {
            get
            {
                return this.objectsField;
            }
            set
            {
                this.objectsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable = false)]
        public Relation[] Relations
        {
            get
            {
                return this.relationsField;
            }
            set
            {
                this.relationsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string @namespace
        {
            get
            {
                return this.namespaceField;
            }
            set
            {
                this.namespaceField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string dependsOnLayout
        {
            get
            {
                return this.dependsOnLayoutField;
            }
            set
            {
                this.dependsOnLayoutField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SystemPolicy
    {

        private object[] itemsField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Policy", typeof(Policy))]
        [System.Xml.Serialization.XmlElementAttribute("Role", typeof(Role))]
        public object[] Items
        {
            get
            {
                return this.itemsField;
            }
            set
            {
                this.itemsField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class Policy
    {

        private string nameField;

        private datatype typeField;

        private string uiLocResourceField;

        private string uiNolocResourceTextField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public datatype type
        {
            get
            {
                return this.typeField;
            }
            set
            {
                this.typeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string uiLocResource
        {
            get
            {
                return this.uiLocResourceField;
            }
            set
            {
                this.uiLocResourceField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string uiNolocResourceText
        {
            get
            {
                return this.uiNolocResourceTextField;
            }
            set
            {
                this.uiNolocResourceTextField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    public enum datatype
    {

        /// <remarks/>
        @string,

        /// <remarks/>
        text,

        /// <remarks/>
        integer,

        /// <remarks/>
        boolean,

        /// <remarks/>
        dateTime,

        /// <remarks/>
        uri,

        /// <remarks/>
        guid,

        /// <remarks/>
        image,

        /// <remarks/>
        color,

        /// <remarks/>
        byteArray,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SecurityRelation
    {
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class Relation
    {

        private SecurityRelation[] securityRelationField;

        private object[] itemsField;

        private string oneField;

        private string oneNameField;

        private string twoField;

        private string twoNameField;

        private bool twoWayField;

        private bool twoWayFieldSpecified;

        private string objectField;

        private visibility visibilityField;

        private bool visibilityFieldSpecified;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SecurityRelation")]
        public SecurityRelation[] SecurityRelation
        {
            get
            {
                return this.securityRelationField;
            }
            set
            {
                this.securityRelationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Enum", typeof(Enum))]
        [System.Xml.Serialization.XmlElementAttribute("Field", typeof(Field))]
        [System.Xml.Serialization.XmlElementAttribute("Reference", typeof(Reference))]
        public object[] Items
        {
            get
            {
                return this.itemsField;
            }
            set
            {
                this.itemsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string one
        {
            get
            {
                return this.oneField;
            }
            set
            {
                this.oneField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string oneName
        {
            get
            {
                return this.oneNameField;
            }
            set
            {
                this.oneNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string two
        {
            get
            {
                return this.twoField;
            }
            set
            {
                this.twoField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string twoName
        {
            get
            {
                return this.twoNameField;
            }
            set
            {
                this.twoNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool twoWay
        {
            get
            {
                return this.twoWayField;
            }
            set
            {
                this.twoWayField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool twoWaySpecified
        {
            get
            {
                return this.twoWayFieldSpecified;
            }
            set
            {
                this.twoWayFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string @object
        {
            get
            {
                return this.objectField;
            }
            set
            {
                this.objectField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public visibility visibility
        {
            get
            {
                return this.visibilityField;
            }
            set
            {
                this.visibilityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool visibilitySpecified
        {
            get
            {
                return this.visibilityFieldSpecified;
            }
            set
            {
                this.visibilityFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class Enum
    {

        private Documentation[] documentationField;

        private string[] valueField;

        private string nameField;

        private string enumField;

        private string storeAsField;

        private bool requiredField;

        private bool requiredFieldSpecified;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Documentation")]
        public Documentation[] Documentation
        {
            get
            {
                return this.documentationField;
            }
            set
            {
                this.documentationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Value")]
        public string[] Value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string @enum
        {
            get
            {
                return this.enumField;
            }
            set
            {
                this.enumField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string storeAs
        {
            get
            {
                return this.storeAsField;
            }
            set
            {
                this.storeAsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool required
        {
            get
            {
                return this.requiredField;
            }
            set
            {
                this.requiredField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool requiredSpecified
        {
            get
            {
                return this.requiredFieldSpecified;
            }
            set
            {
                this.requiredFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class Documentation
    {

        private string summaryField;

        private string detailedField;

        /// <remarks/>
        public string Summary
        {
            get
            {
                return this.summaryField;
            }
            set
            {
                this.summaryField = value;
            }
        }

        /// <remarks/>
        public string Detailed
        {
            get
            {
                return this.detailedField;
            }
            set
            {
                this.detailedField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class Field
    {

        private Documentation[] documentationField;

        private string nameField;

        private datatype typeField;

        private string storeAsField;

        private bool requiredField;

        private bool requiredFieldSpecified;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Documentation")]
        public Documentation[] Documentation
        {
            get
            {
                return this.documentationField;
            }
            set
            {
                this.documentationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public datatype type
        {
            get
            {
                return this.typeField;
            }
            set
            {
                this.typeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string storeAs
        {
            get
            {
                return this.storeAsField;
            }
            set
            {
                this.storeAsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool required
        {
            get
            {
                return this.requiredField;
            }
            set
            {
                this.requiredField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool requiredSpecified
        {
            get
            {
                return this.requiredFieldSpecified;
            }
            set
            {
                this.requiredFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class Reference
    {

        private string nameField;

        private string objectField;

        private string storeAsField;

        private bool requiredField;

        private bool requiredFieldSpecified;

        private bool twoWayField;

        private bool twoWayFieldSpecified;

        private string revNameField;

        private visibility visibilityField;

        private bool visibilityFieldSpecified;

        private visibility revVisibilityField;

        private bool revVisibilityFieldSpecified;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string @object
        {
            get
            {
                return this.objectField;
            }
            set
            {
                this.objectField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string storeAs
        {
            get
            {
                return this.storeAsField;
            }
            set
            {
                this.storeAsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool required
        {
            get
            {
                return this.requiredField;
            }
            set
            {
                this.requiredField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool requiredSpecified
        {
            get
            {
                return this.requiredFieldSpecified;
            }
            set
            {
                this.requiredFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool twoWay
        {
            get
            {
                return this.twoWayField;
            }
            set
            {
                this.twoWayField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool twoWaySpecified
        {
            get
            {
                return this.twoWayFieldSpecified;
            }
            set
            {
                this.twoWayFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string revName
        {
            get
            {
                return this.revNameField;
            }
            set
            {
                this.revNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public visibility visibility
        {
            get
            {
                return this.visibilityField;
            }
            set
            {
                this.visibilityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool visibilitySpecified
        {
            get
            {
                return this.visibilityFieldSpecified;
            }
            set
            {
                this.visibilityFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public visibility revVisibility
        {
            get
            {
                return this.revVisibilityField;
            }
            set
            {
                this.revVisibilityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool revVisibilitySpecified
        {
            get
            {
                return this.revVisibilityFieldSpecified;
            }
            set
            {
                this.revVisibilityFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    public enum visibility
    {

        /// <remarks/>
        @public,

        /// <remarks/>
        @protected,

        /// <remarks/>
        @internal,

        /// <remarks/>
        @private,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SecurityPrincipalRef
    {

        private string nameField;

        private string storeAsField;

        private bool requiredField;

        private bool requiredFieldSpecified;

        private bool twoWayField;

        private bool twoWayFieldSpecified;

        private string revNameField;

        private visibility visibilityField;

        private bool visibilityFieldSpecified;

        private visibility revVisibilityField;

        private bool revVisibilityFieldSpecified;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string storeAs
        {
            get
            {
                return this.storeAsField;
            }
            set
            {
                this.storeAsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool required
        {
            get
            {
                return this.requiredField;
            }
            set
            {
                this.requiredField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool requiredSpecified
        {
            get
            {
                return this.requiredFieldSpecified;
            }
            set
            {
                this.requiredFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool twoWay
        {
            get
            {
                return this.twoWayField;
            }
            set
            {
                this.twoWayField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool twoWaySpecified
        {
            get
            {
                return this.twoWayFieldSpecified;
            }
            set
            {
                this.twoWayFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string revName
        {
            get
            {
                return this.revNameField;
            }
            set
            {
                this.revNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public visibility visibility
        {
            get
            {
                return this.visibilityField;
            }
            set
            {
                this.visibilityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool visibilitySpecified
        {
            get
            {
                return this.visibilityFieldSpecified;
            }
            set
            {
                this.visibilityFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public visibility revVisibility
        {
            get
            {
                return this.revVisibilityField;
            }
            set
            {
                this.revVisibilityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool revVisibilitySpecified
        {
            get
            {
                return this.revVisibilityFieldSpecified;
            }
            set
            {
                this.revVisibilityFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CollImplements
    {

        private @interface interfaceField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public @interface @interface
        {
            get
            {
                return this.interfaceField;
            }
            set
            {
                this.interfaceField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    public enum @interface
    {

        /// <remarks/>
        IBlob,

        /// <remarks/>
        ISecurityPrincipal,

        /// <remarks/>
        ISecurityCredential,

        /// <remarks/>
        ISecurityCredentialCollection,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class Implements
    {

        private @interface interfaceField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public @interface @interface
        {
            get
            {
                return this.interfaceField;
            }
            set
            {
                this.interfaceField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class Right
    {

        private string uiLocResourceField;

        private string uiNolocResourceTextField;

        private string[] textField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string uiLocResource
        {
            get
            {
                return this.uiLocResourceField;
            }
            set
            {
                this.uiLocResourceField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string uiNolocResourceText
        {
            get
            {
                return this.uiNolocResourceTextField;
            }
            set
            {
                this.uiNolocResourceTextField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string[] Text
        {
            get
            {
                return this.textField;
            }
            set
            {
                this.textField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class Permission
    {

        private Right[] rightField;

        private string nameField;

        private permissiontype typeField;

        private string uiLocResourceField;

        private string uiNolocResourceTextField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Right")]
        public Right[] Right
        {
            get
            {
                return this.rightField;
            }
            set
            {
                this.rightField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public permissiontype type
        {
            get
            {
                return this.typeField;
            }
            set
            {
                this.typeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string uiLocResource
        {
            get
            {
                return this.uiLocResourceField;
            }
            set
            {
                this.uiLocResourceField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string uiNolocResourceText
        {
            get
            {
                return this.uiNolocResourceTextField;
            }
            set
            {
                this.uiNolocResourceTextField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    public enum permissiontype
    {

        /// <remarks/>
        allowDenyRight,

        /// <remarks/>
        custom,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class Securable
    {

        private Permission[] permissionField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Permission")]
        public Permission[] Permission
        {
            get
            {
                return this.permissionField;
            }
            set
            {
                this.permissionField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SecurityPrincipal
    {

        private securityprincipaltype typeField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public securityprincipaltype type
        {
            get
            {
                return this.typeField;
            }
            set
            {
                this.typeField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    public enum securityprincipaltype
    {

        /// <remarks/>
        user,

        /// <remarks/>
        userGroup,

        /// <remarks/>
        custom,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class Object
    {

        private SecurityPrincipal securityPrincipalField;

        private Securable securableField;

        private object[] itemsField;

        private string nameField;

        private objectParent parentField;

        private bool parentFieldSpecified;

        private visibility visibilityField;

        private bool visibilityFieldSpecified;

        private bool versionedField;

        private bool versionedFieldSpecified;

        private bool bindableField;

        private bool bindableFieldSpecified;

        /// <remarks/>
        public SecurityPrincipal SecurityPrincipal
        {
            get
            {
                return this.securityPrincipalField;
            }
            set
            {
                this.securityPrincipalField = value;
            }
        }

        /// <remarks/>
        public Securable Securable
        {
            get
            {
                return this.securableField;
            }
            set
            {
                this.securableField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CollImplements", typeof(CollImplements))]
        [System.Xml.Serialization.XmlElementAttribute("Enum", typeof(Enum))]
        [System.Xml.Serialization.XmlElementAttribute("Field", typeof(Field))]
        [System.Xml.Serialization.XmlElementAttribute("Implements", typeof(Implements))]
        [System.Xml.Serialization.XmlElementAttribute("Reference", typeof(Reference))]
        [System.Xml.Serialization.XmlElementAttribute("SecurityPrincipalRef", typeof(SecurityPrincipalRef))]
        public object[] Items
        {
            get
            {
                return this.itemsField;
            }
            set
            {
                this.itemsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public objectParent parent
        {
            get
            {
                return this.parentField;
            }
            set
            {
                this.parentField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool parentSpecified
        {
            get
            {
                return this.parentFieldSpecified;
            }
            set
            {
                this.parentFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public visibility visibility
        {
            get
            {
                return this.visibilityField;
            }
            set
            {
                this.visibilityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool visibilitySpecified
        {
            get
            {
                return this.visibilityFieldSpecified;
            }
            set
            {
                this.visibilityFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool versioned
        {
            get
            {
                return this.versionedField;
            }
            set
            {
                this.versionedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool versionedSpecified
        {
            get
            {
                return this.versionedFieldSpecified;
            }
            set
            {
                this.versionedFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool bindable
        {
            get
            {
                return this.bindableField;
            }
            set
            {
                this.bindableField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool bindableSpecified
        {
            get
            {
                return this.bindableFieldSpecified;
            }
            set
            {
                this.bindableFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    public enum objectParent
    {

        /// <remarks/>
        NamedObject,

        /// <remarks/>
        BasicObject,

        /// <remarks/>
        @object,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class Setting
    {

        private string nameField;

        private datatype typeField;

        private string uiLocResourceField;

        private string uiNolocResourceTextField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public datatype type
        {
            get
            {
                return this.typeField;
            }
            set
            {
                this.typeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string uiLocResource
        {
            get
            {
                return this.uiLocResourceField;
            }
            set
            {
                this.uiLocResourceField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string uiNolocResourceText
        {
            get
            {
                return this.uiNolocResourceTextField;
            }
            set
            {
                this.uiNolocResourceTextField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GlobalSettings
    {

        private Setting[] settingField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Setting")]
        public Setting[] Setting
        {
            get
            {
                return this.settingField;
            }
            set
            {
                this.settingField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class Role
    {

        private string nameField;

        private roletype typeField;

        private string uiLocResourceField;

        private string uiNolocResourceTextField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public roletype type
        {
            get
            {
                return this.typeField;
            }
            set
            {
                this.typeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string uiLocResource
        {
            get
            {
                return this.uiLocResourceField;
            }
            set
            {
                this.uiLocResourceField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string uiNolocResourceText
        {
            get
            {
                return this.uiNolocResourceTextField;
            }
            set
            {
                this.uiNolocResourceTextField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [System.SerializableAttribute()]
    public enum roletype
    {

        /// <remarks/>
        builtinAdmins,

        /// <remarks/>
        builtinUsers,

        /// <remarks/>
        builtinGuests,

        /// <remarks/>
        builtinServices,

        /// <remarks/>
        custom,
    }
}
